home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / EnumProc.bas < prev    next >
BASIC Source File  |  1997-06-14  |  2KB  |  64 lines

  1. Attribute VB_Name = "MEnumProc"
  2. Option Explicit
  3.  
  4. Public lstEnumRef As ListBox
  5.  
  6. Function EnumWndProc(ByVal hWnd As Long, lParam As Long) As Long
  7.     ' Increment count
  8.     lParam = lParam + 1
  9.     ' Get window title and insert into ListBox
  10.     Dim s As String
  11.     s = WindowTextFromWnd(hWnd)
  12.     If s <> sEmpty Then
  13.         lstEnumRef.AddItem s
  14.         lstEnumRef.ItemData(lstEnumRef.NewIndex) = hWnd
  15.     End If
  16.     ' Return True to keep enumerating
  17.     EnumWndProc = True
  18. End Function
  19.  
  20. Function EnumFontFamProc(elf As ENUMLOGFONT, tm As NEWTEXTMETRIC, dwType As Long, lpData As Long) As Long
  21.     lpData = lpData + 1
  22.     Dim s As String
  23.     s = StrZToStr(BytesToStr(elf.elfLogFont.lfFaceName))
  24.     If s <> sEmpty Then lstEnumRef.AddItem s
  25.     Debug.Print s & ": " & lpData
  26.     EnumFontFamProc = True
  27. End Function
  28.  
  29. Function EnumResTypeProc(ByVal hModule As Long, ByVal lpszType As Long, _
  30.                          lParam As Long) As Long
  31.     If lpszType < 65535 Then
  32.         ' Enumerate resources by ID
  33.         Call EnumResourceNamesID(hNull, lpszType, _
  34.                                  AddressOf EnumResNameProc, lParam)
  35.     Else
  36.         ' Enumerate resources by string name
  37.         Call EnumResourceNamesStr(hNull, PointerToString(lpszType), _
  38.                                   AddressOf EnumResNameProc, lParam)
  39.     End If
  40.     EnumResTypeProc = True
  41. End Function
  42.  
  43. Function EnumResNameProc(ByVal hModule As Long, ByVal lpszType As Long, ByVal lpszName As Long, lParam As Long) As Long
  44.     Dim sType As String, sName As String, sHandle As String
  45.     If lpszName < 65535 Then
  46.         sName = lpszName
  47.     Else
  48.         sName = PointerToString(lpszName)
  49.     End If
  50.     If lpszType < 65535 Then
  51.         sType = ResourceIdToStr(lpszType)
  52.     Else
  53.         sType = PointerToString(lpszType)
  54.     End If
  55.     If sType <> sEmpty Then
  56.         lstEnumRef.AddItem sName & Chr$(9) & sType
  57.     End If
  58.     lParam = lParam + 1
  59.     EnumResNameProc = True
  60. End Function
  61.  
  62.  
  63.  
  64.